package NiuKe;

import java.util.Scanner;

/**
 * 小美有一张无向图。特别会数数的小团想拿个难题考一下小美，于是他决定询问小美这张无向图中有多少个不同的四边形。
 * 无向图中的四边形由四个不同的点a,b,c,d和四条属于这张无向图的边(a,b),(b,c),(c,d),(d,a)组成。
 * 若两个四边形的点集和边集相同，则我们认为这两个四边形是同一个四边形。小美的这张无向图有点大，她希望你帮她算出这个难题的答案。
 *
 * 输入描述
 * 第一行有一个整数n代表这张无向图中的点数。
 *
 * 接下来n行给出这张无向图的邻接矩阵，每行有n个由空格隔开的整数，每个整数的值为0或1。
 *
 * 输入保证对角元为0，即这张图没有自环。
 *
 * 输出描述
 * 输出一个整数，代表这张无向图中有多少个不同的四边形。
 *
 *
 * 样例输入
 * 6
 * 0 1 1 1 0 0
 * 1 0 1 0 1 0
 * 1 1 0 0 0 1
 * 1 0 0 0 1 1
 * 0 1 0 1 0 1
 * 0 0 1 1 1 0
 * 样例输出
 * 3
 */
public class MeiTuan_05 {

    public static void main(String[] args) {

        MeiTuan_05 mt = new MeiTuan_05();
        Scanner input = new Scanner(System.in);

        int n = input.nextInt();

        input.nextLine();

        int squer[][] = new int[n][n];
        for (int i = 0 ; i < n ; i++){
            squer[i] = mt.getArray(input.nextLine());
        }

        System.out.println(mt.solve(squer));

    }

    public int[] getArray(String str){//字符串分解成整形数组
        String strings[] = str.split(" ");//根据空格分隔字符串
        int n = strings.length;
        int array[] = new int[n];

        for (int i = 0 ; i < n ; i++){
            array[i] = Integer.parseInt(strings[i]);
        }

        return array;
    }

    public int solve(int squer[][]){//计算出结果
        int answer = 0;

        return 0;
    }


}
